package memento;

import java.util.List;

import logica.Atributo;
import logica.AtributoCompuesto;
import logica.SinNombreException;

public class MementoAtributoCompuestoLogico extends Memento {

	private String nombre;
	private int cardinalidadMin;
	private int cardinalidadMax;
	private List<Atributo> atributos;

	public MementoAtributoCompuestoLogico(AtributoCompuesto guardable)
	{
		super(guardable);
	
		this.nombre = guardable.getNombre();
		this.cardinalidadMin = guardable.getCardinalidadMin();
		this.cardinalidadMax = guardable.getCardinalidadMax();
		this.atributos = guardable.getAtributos();
	}

	@Override
	public void cargarMemento() 
	{
		AtributoCompuesto atributo = (AtributoCompuesto) super.getGuardable();
		
		try 
		{
			atributo.setNombre(nombre);
			atributo.setCardinalidad(cardinalidadMin, cardinalidadMax);
			atributo.setAtributos(atributos);
		}
		//ninguna de estas exceptions podría pasar ya que se cuando se pidieron los datos eran válidos.
		// tener cuidado con el de las entidades externas ya q si se la borra del modelo, ahí si podría haber problemas.
		catch (SinNombreException e) {
			e.printStackTrace();
		}
	
	}

}
